package com.zy.reflect.adv_proxy;

/**
 * @Author Gong
 * @Description
 * @dATE 2021/12/21 11:27
 **/
public class Test {
    public static void main(String[] args) {
        SuperMan superMan=new SuperMan();//创建一个被代理类的对象
        Object obj=MyProxy.getProxyInstance(superMan);//返回一个代理类的对象
        Human human=(Human) obj;//通过代理类调用重写的抽象方法

        human.info();
        System.out.println();
        human.fly();
/**************第二种*****************/
//        System.out.println();
//        NikeClothFactory nike=new NikeClothFactory();
//        Object object=MyProxy.getProxyInstance(nike);
//        ClothFactory cloth=(ClothFactory) object;
//        cloth.clothProduct();

    }
}
